package cn.wolfcode.luowowo.article.service;


import cn.wolfcode.luowowo.article.domain.StrategyTag;
import cn.wolfcode.luowowo.article.query.StrategyTagQuery;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 攻略标签服务
 */
public interface IStrategyTagService {
    /**
     * 分页查询
     * @param qo
     * @return
     */
    PageInfo query(StrategyTagQuery qo);
    /**
     * 添加/更新
     * @param strategyTag
     */
    void saveOrUpdate(StrategyTag strategyTag);
    /**
     * 查询所有
     * @return
     */
    List<StrategyTag> list();

    /**
     * 查询攻略对应标签
     * @param id
     * @return
     */
    String getTagsByDetailId(Long id);

    /**
     * 根据标签名称获取标签
     * @param name
     * @return
     */
    StrategyTag getTagsByName(String name);

    /**
     * 维护标签和攻略明细的关系
     * @param tagId
     * @param detailId
     */
    void insertRelation(Long tagId, Long detailId);

    /**
     * 根据DetailId去删除所有关系
     * @param detailId
     */
    void deleteRelationByDetailId(Long detailId);
}
